Una de las tareas más comunes en estos tiempos es la de intentar mantener espacio libre en los discos. Muchas veces nos dejamos llevar por el total, si tengo espacio de sobras, y acabamos acumulando mucho contenido que realmente no debería estar ahí. Esto en casa es un inconveniente, pero en la empresa es un problema gordo, ya que el almacenamiento es un bien siempre escaso y que hay que controlar (en especial de cara a las copias de seguridad)
En mi caso, en casa tengo un equipo conectado a internet en el que, entre otras cosas, tengo un cliente de BitTorrent descargando. Como la gestión de los torrents la realizo vía web, no controlo la cantidad de espacio libre que queda en el disco. De hecho, de vez en cuando me conecto vía ssh y controlo el espacio libre mediante
Hacer las cosas de forma manual nunca es un buen método. Buscando en Google he encontrado un artículo con un buen script que monitoriza el espacio en disco y envía un mail en caso de que el espacio libre descienda por debajo de un cierto umbral (la versión mejorada que aparece en los comentarios)...
En mi caso todavía no me he puesto a configurar el envío por correo (parece que no tengo instalado ningún programa de correo en el equipo), de manera que he modificado el script para que cree un fichero de texto en la carpeta /public. Esta es la carpeta desde donde copio el contenido a otros equipos, así que en cuanto aparezca el fichero sé que tengo problemas.
Para que el script realmente monitorice el espacio, hay que ejecutarlo de forma periódica. En linux la ejecución programada de tareas periódicas se realiza mediante cron. Buscando en Google he encontrado este fantástico artículo en el que se explica cómo utilizar cron: Schedule tasks on Linux using crontab.
Después de realizar unas cuantas pruebas -modificando el umbral para que la alerta se dispare-, he comprobado que todo funciona como debiera y he programado la ejecución del script al principio de cada hora.
Para ello, ejecutamos
En mi caso, en casa tengo un equipo conectado a internet en el que, entre otras cosas, tengo un cliente de BitTorrent descargando. Como la gestión de los torrents la realizo vía web, no controlo la cantidad de espacio libre que queda en el disco. De hecho, de vez en cuando me conecto vía ssh y controlo el espacio libre mediante
df -H
.Script de monitorización del espacio en disco
Hacer las cosas de forma manual nunca es un buen método. Buscando en Google he encontrado un artículo con un buen script que monitoriza el espacio en disco y envía un mail en caso de que el espacio libre descienda por debajo de un cierto umbral (la versión mejorada que aparece en los comentarios)...
En mi caso todavía no me he puesto a configurar el envío por correo (parece que no tengo instalado ningún programa de correo en el equipo), de manera que he modificado el script para que cree un fichero de texto en la carpeta /public. Esta es la carpeta desde donde copio el contenido a otros equipos, así que en cuanto aparezca el fichero sé que tengo problemas.
Monitorización: ejecutar el script cada hora
Para que el script realmente monitorice el espacio, hay que ejecutarlo de forma periódica. En linux la ejecución programada de tareas periódicas se realiza mediante cron. Buscando en Google he encontrado este fantástico artículo en el que se explica cómo utilizar cron: Schedule tasks on Linux using crontab.
Después de realizar unas cuantas pruebas -modificando el umbral para que la alerta se dispare-, he comprobado que todo funciona como debiera y he programado la ejecución del script al principio de cada hora.
Para ello, ejecutamos
sudo crontab -e
. Configuramos el script para que se ejecute en el minuto 0 de cada hora, de cada día, de cada mes y de cada año:0 * * * * /home/nombre_usuario/check-disk-space.sh
Comentarios